/******************************************************************************
 * @File name   :      IMemberPackageService.java
 *
 * @Author      :      JIZHANGS
 *
 * @Date        :      Jul 28, 2015
 *
 * @Copyright Notice: 
 * Copyright (c) 2015 Capgemini, Inc. All  Rights Reserved.
 * This software is published under the terms of the Capgemini Software
 * License version 1.0, a copy of which has been included with this
 * distribution in the LICENSE.txt file.
 * 
 * 
 * ----------------------------------------------------------------------------
 * Date                   Who         Version        Comments
 * Jul 28, 2015 9:29:12 AM        JIZHANGS     1.0            Initial Version
 *****************************************************************************/
package com.cap.bts.crmdp.dealer.logistic.service;


import java.io.InputStream;
import java.util.List;

import com.cap.bts.crmdp.dealer.logistic.dto.LogisticDataDto;
import com.cap.bts.crmdp.dealer.logistic.dto.LogisticQueryDto;
import com.cap.bts.crmdp.dealer.logistic.dto.LogisticResultsDto;
import com.cap.bts.framework.common.exception.AppException;
import com.cap.bts.framework.common.service.IBaseService;

/**
 *
 */
public interface IMaintainLogisticService extends IBaseService{
    
    public LogisticResultsDto queryLogisticData(LogisticQueryDto queryDto);
    public LogisticResultsDto queryLogisticDataForPrint(LogisticQueryDto queryDto);
    public boolean insertLogisticInfo(LogisticDataDto dto);
    public LogisticDataDto queryLogisticDataById(String id);
    public boolean editLogisticInfo(LogisticDataDto dto);
    public boolean deleteLogisticInfo(String id);
    public LogisticResultsDto queryReceiveLogisticData(LogisticQueryDto queryDto);
    public boolean receiveLogistic(String id,String cardDefId,int receiveAmount,String dealerId,String editor);
    public LogisticResultsDto handleImportInBackground(final String fileName,
        final InputStream in, final String templateFileName, final String templateName,
        final String sheetName, final String userId) throws AppException ;
    public LogisticResultsDto processLogistic(List<LogisticDataDto> dataList, String userId) throws AppException ;
	LogisticResultsDto queryAllLogisticData(LogisticQueryDto queryDto);
}
